Thư viện đối tượng và lớp Thư_viện_(máy_tính)

Mặc dù ban đầu đi tiên phong vào những năm 1960, liên kết động không đến được các hệ điều hành được người tiêu dùng sử dụng cho đến cuối những năm 1980. Nó thường có sẵn ở một số dạng trong hầu hết các hệ điều hành vào đầu những năm 1990. Trong cùng thời gian này, lập trình hướng đối tượng (OOP) đã trở thành một phần quan trọng trong bối cảnh lập trình. OOP với ràng buộc thời gian chạy yêu cầu thông tin bổ sung mà các thư viện truyền thống không cung cấp. Ngoài tên và điểm nhập của mã nằm trong, họ cũng yêu cầu một danh sách các đối tượng mà chúng phụ thuộc. Đây là tác dụng phụ của một trong những lợi thế chính, sự kế thừa của OOP, có nghĩa là các phần của định nghĩa hoàn chỉnh của bất kỳ phương pháp nào có thể ở những nơi khác nhau. Điều này không chỉ đơn giản là liệt kê rằng một thư viện yêu cầu dịch vụ của người khác: trong một hệ thống OOP thực sự, bản thân các thư viện có thể không được biết đến tại thời điểm biên dịch và thay đổi tùy theo hệ thống.

Đồng thời, nhiều nhà phát triển đã thực hiện ý tưởng về các chương trình nhiều tầng, trong đó một "hiển thị" chạy trên máy tính để bàn sẽ sử dụng các dịch vụ của máy tính lớn hoặc máy tính mini để lưu trữ hoặc xử lý dữ liệu. Chẳng hạn, một chương trình trên máy tính dựa trên GUI sẽ gửi tin nhắn đến một máy tính mini để trả về các mẫu nhỏ của một tập dữ liệu khổng lồ để hiển thị. Các lời gọi thủ tục từ xa (RPC) đã xử lý các tác vụ này, nhưng không có hệ thống RPC tiêu chuẩn.

Chẳng mấy chốc, phần lớn các nhà cung cấp máy tính minimáy tính lớn đã thúc đẩy các dự án kết hợp cả hai, tạo ra một định dạng thư viện OOP có thể được sử dụng ở bất cứ đâu. Các hệ thống như vậy được gọi là thư viện đối tượng hoặc đối tượng phân tán, nếu chúng hỗ trợ truy cập từ xa (không phải tất cả đã làm). COM của Microsoft là một ví dụ về một hệ thống như vậy để sử dụng cục bộ, DCOM là phiên bản sửa đổi hỗ trợ truy cập từ xa.

Trong một số thời gian, các thư viện đối tượng giữ trạng thái "điều lớn tiếp theo" trong thế giới lập trình. Có một số nỗ lực để tạo ra các hệ thống sẽ chạy trên các nền tảng và các công ty đã cạnh tranh để cố gắng khiến các nhà phát triển bị khóa trong hệ thống của riêng họ. Các ví dụ bao gồm System Object Model (SOM / DSOM) của IBM, Distributed Objects Everywhere (DOE) của Sun Microsystems, Portable Distributed Objects (PDO) của NeXT, ObjectBroker của Digital, Component Object Model (COM / DCOM) của Microsoft và bất kỳ số lượng các hệ thống dựa trên CORBA.

Sau sự hạ nhiệt không thể tránh khỏi của tiếp thị cường điệu, các thư viện đối tượng tiếp tục được sử dụng trong cả lập trình hướng đối tượnghệ thống thông tin phân tán. Các thư viện lớp là tương đương OOP thô của các loại mã thư viện cũ. Chúng chứa các lớp, mô tả các đặc điểm và định nghĩa các hành động (phương thức) liên quan đến các đối tượng. Các thư viện lớp được sử dụng để tạo các thể hiện hoặc các đối tượng với các đặc tính của chúng được đặt thành các giá trị cụ thể. Trong một số ngôn ngữ OOP, như Java, sự khác biệt rất rõ ràng, với các lớp thường có trong các file thư viện (như định dạng file JAR của Java) và các đối tượng được khởi tạo chỉ nằm trong bộ nhớ (mặc dù có khả năng tồn tại trong các file riêng biệt). Trong những ngôn ngữ khác, như Smalltalk, các thư viện lớp chỉ là điểm khởi đầu cho một hình ảnh hệ thống bao gồm toàn bộ trạng thái của môi trường, các lớp và tất cả các đối tượng được khởi tạo.